Currently, technical support is provided either in-person or remotely, whereby individual problems are addressed by technical support staff. When the same problems or similar problems are encountered, the same solution procedures or similar solution procedures are repeatedly executed to solve such problems.
When a procedure needs to be executed on a large number of machines, e.g., to upgrade portions of the operating system on all machines belonging to an organization, it is customary to script the procedure (i.e., build a program in an appropriate high-level language that executes the procedure). The process of building such scripts, however, is extremely expensive in terms of costs associated with design, development and testing, although the costs associated with design and development time are usually negligible as compared to the costs associated with test time.
In contrast to regular end-user applications that are easily portable across different versions of the same operating system and across different configurations of the same operating system, maintenance and upgrade procedures often modify inner layers or parameters of the operating systems. Therefore, maintenance and upgrade procedures must be tested on a wide variety of operating system versions and configurations. This requires a substantial time investment as well as a large, well-equipped testing facility.
Due to the costs associated with scripting procedures, other methods may be used for enabling maintenance or upgrades. For instance, one method is to produce a document having instructions that guide a user through the necessary maintenance and upgrade steps. However, much like general software documentation, these instructions are often difficult to follow. For example, the instructions may read “if you have version XX of the operating system, go to step 5, otherwise go to step 3. To determine which version of the operating system your machine is running go to step 13.” This instruction can be confusing even for an expert user, and does not cover all possible situations. Therefore, the alternate solution using instructive documents has a hidden cost in that users for whom the documentation is too difficult or incomplete to understand are forced to call a support center and must be assisted on an individual basis.
Other disadvantages associated with conventional methods that use scripted procedures or documentation is that such methods suffer from obsolescence. For example, as newer versions of operating systems, applications, and hardware components become available, scripted procedures must be updated to accommodate the newer versions and such updates are often very costly. Similarly, instructive documentation must be appropriately revised by adding new sections and such revisions only render such documents more confusing for end-users.
A need therefore exists for improved systems and methods for generating and disseminating technical support procedures that enable maintenance and upgrades of various systems, which overcome the problems associated with conventional methods.